"""
给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ，就返回 0。

假设环境不允许存储 64 位整数（有符号或无符号）。

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
"""
def check(x):
    return (x >= -pow(2, 31) and x <= pow(2, 31) - 1)
class Solution:
    def reverse(self, x: int) -> int:
        flag = False
        if x < 0:
            x = -x
            flag = True
        x_str = str(x)
        result = 0
        for i, item in enumerate(x_str):
            result += pow(10,i) * int(item)
        if flag:
            result = -result
        if check(result) == False:
            result = 0
        return result

print(Solution.reverse(self=Solution, x=-123))
